home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / TEMP / GNU / bison / GrammarLay < prev    next >
Text File  |  1995-06-28  |  1KB  |  44 lines

  1. Grammar Layout
  2. Previous: <Stages=>Stages> * Next: <Examples=>Examples> * Up: <Concepts=>Concepts>
  3.  
  4. #Wrap on
  5. {fH3}The Overall Layout of a Bison Grammar{f}
  6.  
  7. The input file for the Bison utility is a {fUnderline}Bison grammar file{f}.  The
  8. general form of a Bison grammar file is as follows:
  9.  
  10. #Wrap off
  11. #fCode
  12. %\{
  13. {fStrong}C declarations{f}
  14. %\}
  15.  
  16. {fStrong}Bison declarations{f}
  17.  
  18. %%
  19. {fStrong}Grammar rules{f}
  20. %%
  21. {fStrong}Additional C code{f}
  22. #f
  23. #Wrap on
  24.  
  25. The {fEmphasis}%%{f}, {fEmphasis}%\{{f} and {fEmphasis}%\}{f} are punctuation that appears
  26. in every Bison grammar file to separate the sections.
  27.  
  28. The C declarations may define types and variables used in the actions.
  29. You can also use preprocessor commands to define macros used there, and use
  30. {fCode}\#include{f} to include header files that do any of these things.
  31.  
  32. The Bison declarations declare the names of the terminal and nonterminal
  33. symbols, and may also describe operator precedence and the data types of
  34. semantic values of various symbols.
  35.  
  36. The grammar rules define how to construct each nonterminal symbol from its
  37. parts.
  38.  
  39. The additional C code can contain any C code you want to use.  Often the
  40. definition of the lexical analyzer {fCode}yylex{f} goes here, plus subroutines
  41. called by the actions in the grammar rules.  In a simple program, all the
  42. rest of the program can go here.
  43.  
  44.